DTS Selection Modes
You can set the selection mode in the step Maintain technical settings. Changing the selection mode is possible only for tables with an assigned business object for filtering (preselection) or for a table set for NZD processing. The selection mode impacts the generated program. If you change the selection mode after the program has been generated, you must execute the program generation step for the read tasks again.
The following options are available:
-
Automatic mode: Is enabled by default and it chooses the most optimal selection mode. The table below explains what mode is selected when.
-
Join cursor: Executes a SELECT with JOIN on the business object table or on the trigger shadow table in case of trigger-based delta processing. You can also use this mode for cases that require a JOIN between multiple tables (e.g. in BW SID tables with the cube tables). You can edit these JOINS in the step DTS transfer structure editor.
-
Lookup cursor: Executes a SELECT with lookup on the relevant preselection tables.
-
FOR ALL ENTRIES cursor: Executes a SELECT with an open cursor with the FOR ALL ENTRIES ABAP statement on the relevant preselection or delta collection tables.
-
Cursor with generated WHERE condition: The values from the DTS business object table are generated into the select WHERE condition. This is supported for business objects with fewer than 100 entries in the business object table. This option is never used in automatic mode. Only use this option if you have extensive DTS and SAP knowledge.
The tables below describe how automatic mode makes the choice of selection mode and explain the compatibility of the various selection modes. To make the tables clearer, they are split into NZD processing and normal processing.
Automatic mode selection | ||||
---|---|---|---|---|
Table category | Read tasks generation parameters | Selection mode | ||
Task type | Preselection | Other conditions | ||
Transparent table (incl. physical cluster) | Delta read | No | The table does not contain LOB fields (rawstring, string, lchar and lraw) | JOIN cursor |
Delta read | No | The table contains LOB fields (rawstring, string, lchar and lraw) | FOR ALL ENTRIES cursor | |
Read | One assignment or more with the same input group > 0 | JOIN cursor | ||
Read | At least two assignments with different input groups or all assignments with the input group 0 | Lookup cursor | ||
Cluster table | Delta read | No | FOR ALL ENTRIES cursor | |
Read | Single assignment when business object fields are assigned to the table keys in order from the 1st field, e.g. the BSEG cluster must be preselected by the assignments that contain either the field BUKRS only, or BUKRS, BELNR and GJAHR must be covered by the assigned business object. | The WHERE condition (if defined in the table pool or partitioning) contains only fields from the assigned business object | FOR ALL ENTRIES cursor | |
Pool table | Delta read | No | Not supported! | |
Read | Yes | Lookup cursor | ||
All tables | Delta read | Yes | Not supported! | |
Read | No | Full read |
Selection mode compatibility for preselection without NZD | ||
---|---|---|
Supported selection mode | Table type | Preselection |
JOIN cursor | Transparent table | One assignment or more with the same input group > 0 |
Lookup cursor |
Transparent table Cluster table Pool table |
No restriction – compatible with any assignment. |
Cursor with generated WHERE condition |
Transparent table Cluster table Pool table |
At least one assignment of all kinds when the sum of entries in business object tables < 100 |
FOR ALL ENTRIES cursor |
Transparent table Cluster table |
Single assignment when business object fields are assigned to the table keys from the left |
Full read |
Transparent table Cluster table Pool table |
None |
Selection mode compatibility for NZD processing | |
---|---|
Supported selection mode | Table type |
JOIN cursor | Transparent table if it does not contain LOB field (rawstring, string, lchar and lraw) |
FOR ALL ENTRIES cursor | Transparent table if it contains a LOB field (rawstring, string, lchar and lraw) or cluster table |